package net.dgg.dggcloud.service.iboss.utils;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 * Created by Administrator on 2017/12/21 0021.
 */
public class Property extends HashMap {


    public Property(Map map) {
        Iterator<Entry<Object, Object>> it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<Object, Object> entry = it.next();
            this.put(entry.getKey(), entry.getValue());
        }
    }

    /**
     * 取出一个值，并转换成String类型；如果不存在，或者为null，则返回一个空串
     *
     * @param key
     * @return
     */
    public String getString(Object key) {
        return getString(key, "");
    }

    /**
     * 取出一个值，并转换成String类型,如果不存在，或者为null，则返回一个期望的默认值
     *
     * @param key
     * @param def
     * @return
     */
    public String getString(Object key, String def) {
        Object value = null;
        if (this.containsKey(key)) {
            value = this.get(key);
        }
        if (value != null) return value.toString().trim();
        else return def;
    }

    /**
     * 取出一个值，并转换成Long类型；如果不存在，或者为null，则返回一个-1
     *
     * @param key
     * @return
     */
    public Long getLong(Object key) {
        return getLong(key, -1L);
    }

    /**
     * 取出一个值，并转换成Long类型,如果不存在，或者为null，则返回一个期望的默认值
     *
     * @param key
     * @param def
     * @return
     */
    public Long getLong(Object key, Long def) {
        String   value=getString(key);
        try{
            def=Long.valueOf(value);
        }
        catch(Exception e) {}
    return def;
    }
}
